<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>

    <script>

        // 排序？   9 8 7 6 5 4
        // 思路1：
        //    第一轮：找到最小的值，与第一个位置进行交换 
        //          假设第一个位置上的值是最小的   var min = 0 ;
        //          拿这个位置上的值与后面所有的值进行比较  min 只记录更小的值的下标
        //          arr[0] 和 arr[min]  进行交换   4 8 7 6 5 9
        //    第二轮：找到最小的值，与第二个位置进行交换 
        //          假设第二个位置上的值是最小的   var min = 1 ;
        //          拿这个位置上的值与后面所有的值进行比较  min 只记录更小的值的下标
        //          arr[1] 和 arr[min]  进行交换   4 5 7 6 8 9
        //    第三轮：找到最小的值，与第三个位置进行交换 
        //          假设第二个位置上的值是最小的   var min = 2 ;
        //          拿这个位置上的值与后面所有的值进行比较  min 只记录更小的值的下标
        //          arr[2] 和 arr[min]  进行交换   4 5 6 7 8 9
        //    第四轮：找到最小的值，与第4个位置进行交换 
        //          假设第二个位置上的值是最小的   var min = 3 ;
        //          拿这个位置上的值与后面所有的值进行比较  min 只记录更小的值的下标
        //          arr[3] 和 arr[min]  进行交换   4 5 6 7 8 9     假设7是最小的   7确实是最小的
        //    第五轮：找到最小的值，与第5个位置进行交换 
        //          假设第二个位置上的值是最小的   var min = 4 ;
        //          拿这个位置上的值与后面所有的值进行比较  min 只记录更小的值的下标
        //          arr[4] 和 arr[min]  进行交换   4 5 6 7 8 9     假设8是最小的   8确实是最小的



        // 6个数只需要比较五轮就可以排序好


        function selectSort(arr) {
            // j 用于控制比较的轮数  --- 
            for(var j = 0 ; j < arr.length - 1 ; j++) {
                // 假设第j个数是最小的
                var min = j ;
                // 拿这个假设的最小值与后面所有的值进行比较
                for(var i = j + 1 ; i < arr.length ; i++) {
                    // 如果假设的这个最小值比后面的值还大
                    if(arr[min] > arr[i]) {
                        // min 继续存这个更小的值的下标
                        min = i ;
                    }
                }
                // 如果假设的这个位置上的 数不是最小的，才进行交换
                if(min !== j) {
                    var t = arr[j] ;
                    arr[j] = arr[min] ;
                    arr[min] = t ;
                }

            }
            // console.log(arr) ;
            return arr 
        }


        console.log(selectSort([9 ,8, 7, 6 ,5 ,4]));










    </script>
    
</body>
</html>